﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RT = Coolzon.Metadata.Runtime;

namespace Coolzon.UI.Core
{
    /// <summary>
    /// 组件接口
    /// </summary>
    public interface IComponent
    {
        string XFullName { get; set; }
        /// <summary>
        /// 组件初始化,当组件被创建的时候调用,可能没有显示到界面上，只是刚构造出来
        /// </summary>
        void Init(PartContext context);

        /// <summary>
        /// 激活组件
        /// 当组件在被显示的时候才调用,这个方法可以反复调用
        /// </summary>
        /// <param name="context"></param>
        void Active(PartContext context);

        /// <summary>
        /// 组件激活转非激活
        /// </summary>
        void Deactive();

        /// <summary>
        /// 组件销毁，释放资源
        /// </summary>
        void Destroy();

        ///// <summary>
        ///// 恢复被动画或者脚本修改掉的值
        ///// </summary>
        //void Restore();
    }
}
